Windows 允许运行powershell 脚本
这是一个 PowerShell 执行策略的安全限制问题。Windows 默认禁止运行未签名的脚本,以防止恶意代码执行。
快速解决方案
方法 1:临时允许当前会话(推荐,最安全)
# 以管理员身份运行 PowerShell,然后执行:
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force
# 然后运行你的脚本
& "D:\Downloads\KCSD课件(WORD)\xiuding接受修订删除批注V0.1.ps1"
-Scope Process 表示只影响当前 PowerShell 窗口,关闭后即失效。
方法 2:为当前用户永久设置
# 以管理员身份运行
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
RemoteSigned:本地脚本可直接运行,从网络下载的脚本需要签名- 仅影响当前用户,不影响系统安全策略
方法 3:绕过策略直接运行(无需修改策略)
# 使用 -ExecutionPolicy 参数启动 PowerShell
powershell -ExecutionPolicy Bypass -File "D:\Downloads\KCSD课件(WORD)\xiuding接受修订删除批注V0.1.ps1"
各执行策略对比
| 策略 | 说明 |
|---|---|
| Restricted | 默认设置,禁止运行任何脚本 |
| AllSigned | 只允许运行已签名的脚本 |
| RemoteSigned | 本地脚本可运行,远程脚本需签名 |
| Unrestricted | 允许运行所有脚本(有风险提示) |
| Bypass | 完全绕过,无任何限制或提示 |
推荐操作步骤
- 右键点击 PowerShell → 以管理员身份运行
- 执行:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force - 重新运行你的脚本
如果脚本来自互联网,可能还需要解除文件锁定:
Unblock-File -Path "D:\Downloads\KCSD课件(WORD)\xiuding接受修订删除批注V0.1.ps1"
需要我解释具体某个方法的细节吗?